Customized Product Display

ABSTRACT

Technologies are described herein for customized product display. A data structure schema is defined for describing product graphics, such as product images, and for defining how aspects of the product graphics should be displayed. Through the use of the schema, a product manufacturer can provide product graphics to an e-commerce merchant along with product display data formatted according to the schema that provides instructions to the merchant regarding how the manufacturer prefers the product graphics to be displayed. The merchant can then utilize the product graphics and the product display data to generate a product page for the product.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of co-pending U.S. application Ser.No. 12/634,287, entitled “CUSTOMIZED PRODUCT DISPLAY” filed Dec. 9,2009, and which is expressly incorporated herein by reference in itsentirety.

BACKGROUND

Product manufacturers often spend many man-hours and thousands ofdollars designing the packaging for a product. Manufacturers typicallyexpend these resources in an attempt to create product packaging that ishighly attractive to consumers when the product is placed on a shelf ina retail outlet. Manufacturers often give little thought, however, tohow a product will be presented on Internet-based e-commerce World WideWeb (“Web”) sites. As a result, the task of generating product imagesfor use on e-commerce Web sites is typically left up to the e-commercemerchant.

In order to generate product images for use on an e-commerce Web site,Web-based merchants often generate their own digital photographs ofproducts. For instance, a Web-based merchant may take photographs of aboxed product. The merchant might also un-box the product and takedigital photographs of the unboxed product. The digital photographs maythen be utilized to create an e-commerce Web page for the product. Theprocess of generating photographs of products for use on an e-commerceWeb site can be very expensive for a merchant.

Product photographs taken by a merchant might not emphasize variousaspects of a product that the product manufacturer believes to beimportant. In fact, in certain cases, the images taken and utilized by amerchant to create an e-commerce Web page for a product may be only ofthe product and not the product packaging. This can be frustrating for aproduct manufacturer that expends significant resources on designingproduct packaging.

It is with respect to these and other considerations that the disclosuremade herein is presented.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system and network diagram showing aspects of anillustrative operating environment for customized product display,including several software and hardware components provided byembodiments presented herein;

FIG. 2 is a data structure diagram showing aspects of a data structureschema provided in one illustrative embodiment presented herein forstoring product display data;

FIGS. 3 and 4 are flow diagrams showing several illustrative routinesshowing the operation of a product manufacturer computing system and amerchant computing system, respectively, according to embodimentspresented herein;

FIG. 5 is a user interface diagram showing one illustrative userinterface in which product display data is utilized in the display ofone or manufacturer-provided product graphics according to oneembodiment presented herein; and

FIG. 6 is a computer architecture diagram showing an illustrativecomputer hardware architecture for computing devices described inembodiments presented herein.

DETAILED DESCRIPTION

The following detailed description is directed to technologies forcustomized product display. According to embodiments, a data structureschema is defined for describing product graphics, such as productimages, and for defining how aspects of the product graphics should bedisplayed. Through the use of the schema, a product manufacturer canprovide product graphics to an e-commerce merchant along with productdisplay data formatted according to the schema that providesinstructions to the merchant regarding how the manufacturer prefers theproduct graphics to be displayed. The merchant can then utilize theproduct graphics and the product display data to generate a product pagefor the product. In this way, the e-commerce merchant is freed from theexpensive process of generating product images. Moreover, the productmanufacturer is empowered to provide product graphics and productdisplay data that can be utilized by the merchant to display the productgraphics in the manner desired by the manufacturer.

It should be appreciated that the subject matter presented herein may beimplemented as a computer process, a computer-controlled apparatus, acomputing system, or an article of manufacture, such as acomputer-readable storage medium. While the subject matter describedherein is presented in the general context of program modules thatexecute on one or more computing devices, those skilled in the art willrecognize that other implementations may be performed in combinationwith other types of program modules. Generally, program modules includeroutines, programs, components, data structures, and other types ofstructures that perform particular tasks or implement particularabstract data types.

Moreover, those skilled in the art will appreciate that the subjectmatter described herein may be practiced on or in conjunction with othercomputer system configurations beyond those described below, includingmultiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, handheld computers,personal digital assistants, cellular telephone devices,special-purposed hardware devices, network appliances, and the like. Theembodiments described herein may also be practiced in distributedcomputing environments, where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

In the following detailed description, references are made to theaccompanying drawings that form a part hereof, and that show, by way ofillustration, specific embodiments or examples. The drawings herein arenot drawn to scale. Like numerals represent like elements throughout theseveral figures.

FIG. 1 and the following description are intended to provide a brief,general description of a suitable computing environment in which theembodiments described herein may be implemented. In particular, FIG. 1is a system and network diagram that shows an illustrative operatingenvironment 100 including several software components for customizedproduct display, according to embodiments provided herein. Theenvironment 100 includes a product manufacturer computing system 102, amerchant computing system 104, and a customer computing system 106. Eachof these computing systems will be described in detail below.

The merchant computing system 104 comprises one or more server computersconfigured to provide an e-commerce Web site 122. In this regard, themerchant computing system 104 is configured to execute a Web serverapplication 116. The Web server application 116 may be one of any numberof Web server application programs known in the art running on one ormore server computers.

The merchant computing system 104 is also configured in one embodimentto maintain a product database 110B. The product database 110B containsinformation regarding products made available through the e-commerce Website 122 provided by the merchant computing system 104. According to oneimplementation, the product database 110B includes one or more productgraphics 112A-112C for each product. As used herein, the term “productgraphic” is meant to encompass any type of electronically storedaudio-visual content that contains data regarding a product and that canbe presented via an e-commerce Web site 122. For instance, a productgraphic may include, but is not limited to, video content, an electronicimage, audio content, or a rendering of a product. A product graphic mayalso include an application program configured to provide informationregarding a product. For instance, in one implementation, a productgraphic comprises a FLASH application created utilizing the FLASHprogramming and runtime execution environment provided by ADOBE SYSTEMS.A product graphic might also be implemented using the SILVERLIGHTruntime execution environment from MICROSOFT CORPORATION or utilizingother runtime environments.

According to the various embodiments presented herein, a productmanufacturer provides the product graphics 112A-112C for a particularproduct to the merchant computing system 104. As utilized herein, theterm “manufacturer” is meant to encompass not only the actualmanufacturer of a product but also any agent of a product manufacturer,such as a distributor, wholesaler, reseller, and the like. The termmanufacturer also encompasses entities that contract for the manufactureof one or more products and then distribute the products to a retaileror other type of distribution channel. The term “manufacturer” asutilized herein, therefore, generally refers to any entity that providesa product to a merchant for resale.

According to various embodiments, the manufacturer also provides productdisplay data 114 corresponding to the provided product graphics112A-112C to the merchant computing system 104. The product display data114 defines how aspects of the product graphics 112A-112C should bedisplayed on a product page 124 for the product accessible via thee-commerce Web site 122 provided by the merchant computing system 104.Additional details regarding the contents and use of the product displaydata 114 will be provided below with respect to FIGS. 2-5.

The illustrative operating environment 100 shown in FIG. 1 also includesa customer computing system 106. The customer computing system 106 maybe a personal computer, a desktop workstation, a laptop, a notebook, awireless telephone, a personal digital assistant, a game console, a settop box, a consumer electronics device, a server computer, and the like.A Web browser application 118 may execute on the customer computingsystem 106 that accesses the Web server application 116 executing on themerchant computing system 104 to retrieve Web pages such as the productpage 124 and other content and displays them to a user of the customercomputing system 106. The Web browser application 118 may be theINTERNET EXPLORER Web browser from MICROSOFT CORPORATION, or the FIREFOXWeb browser from MOZILLA CORPORATION. Other Web browsers might also beutilized.

While the operating environment 100 illustrated in FIG. 1 includes a Webbrowser application 118 communicating with a Web server application 116,it will be appreciated that other types of client application programsexecuting on the customer computing system 106 may be utilized to accessand retrieve the e-commerce Web site 122 and/or other content from themerchant computing system 104. It is intended that all such clientapplication programs and remote server computers be included in thescope of this application.

The illustrative operating environment 100 illustrated in FIG. 1 alsoincludes a product manufacturer computing system 102. The productmanufacturer computing system 102 comprises one or more computer systemsoperated by or under the direction of a product manufacturer. As shownin FIG. 1, the product manufacturer computing system 102 is configuredto maintain a product database 110A. The product database 110A includesone or more product graphics 112A-112C for a product. The productdatabase 110A also includes product display data 114 for the sameproduct. The product graphics 112A-112C stored in the product database110A are generated by or under the direction of the manufacturer. Theproduct display data 114 is also generated by or under the direction ofthe manufacturer and corresponds to the product graphics 112A-112C. Itshould be appreciated that the product display data 114 may be generatedby various means including, but not limited to, manual or programmaticmechanisms.

Once the product graphics 112A-112C and the product display data 114have been generated, the product manufacturer computing system 102transmits the product graphics 112A-112C and the product display data114 to the merchant computing system 104. As discussed above, themerchant computing system 104 stores the product graphics 112A-112C andthe product display data 114 in the product database 110B. The merchantcomputing system 104 also utilizes the product graphics 112A-112C andthe product display data 114 when responding to a request for a productpage 124 for the corresponding product. Additional details regarding thestructure and use of the product display data 114 in this regard will beprovided below with regard to FIGS. 2-5.

As shown in FIG. 1, the merchant computing system 104 may also store acustomer profile 120 for each customer of the e-commerce Web site 122provided by the merchant computing system 104. The customer profile 120for a particular customer may be utilized to store data defining acustomer's location, preferences, interests, purchasing history, andother demographic, geographic, and psychographic characteristics of thecustomer. If authorized by the customer, data stored in the customerprofile 120 may be utilized in conjunction with the product display data114 to customize the presentation of a product page 124 for a product tothe customer. Additional details regarding this process will be providedbelow.

As also shown in FIG. 1, a network 108 provides data communicationsbetween the product manufacturer computing system 102, the merchantcomputing system 104, and the customer computing system 106. The network108 may represent one or more of a local area network, a wide areanetwork, the Internet, or any other networking topology known in the artcapable of connecting computer systems described herein. It should beappreciated that the network topology illustrated in FIG. 1 has beensimplified and that many more networks might be utilized to provide theappropriate data connections.

Referring now to FIG. 2, a data structure diagram showing aspects of adata structure schema for storing the product display data 114 will bedescribed. In the illustrative embodiment shown in FIG. 2, the productdisplay data 114 includes a product description section 202, a productgraphic description section 204, and a product graphic display section206. Generally, the product description section 202 provides one or moredata fields for storing a textual description regarding a product andits manufacturer. The product graphic description section 204 generallycomprises one or more data fields for storing data describing theproduct graphics 112A-112C along with information regarding how theproduct graphics 112A-112C should be displayed. The product graphicdisplay section 206 generally provides one or more data fields forstoring data that includes further instructions regarding how theproduct graphics 112A-112C should be displayed. The product descriptionsection 202, the product graphic description section 204, and theproduct graphic display section 206 will be described in greater detailbelow.

In one embodiment presented herein, the product description section 202includes data fields 208A-208D. The data field 208A is a text data fieldconfigured for storing data identifying the manufacturer of a product.The data field 208B is a text data field configured for storing dataidentifying a product name. The data field 208C is a text data fieldconfigured for storing a product stock keeping unit (“SKU”) number orother type of product identifier. The data field 208D is configured forstoring a textual product description. As will be described in greaterdetail below, the merchant computing system 104 may utilize the contentsof the data fields 208A-208D to create aspects of a product page 124corresponding to a product identified by the product display data 114.

According to one implementation, the product graphic description section204 comprises data for each of the product graphics 112A-112C thatdefines how each of the product graphics 112A-112C should be displayedon the product page 124. For instance, in one implementation, theproduct graphic description section 204 includes a data field 208Estoring data identifying the name of the first product graphic. A datafield 208F stores data identifying the type of graphic of the firstproduct graphic. For instance, the data field 208F may store dataindicating whether the first product graphic is an application, a staticimage, a video, or another type of product graphic.

The data field 208G stores data indicating the size of the productgraphic. For instance, in the case of a static image, the data field208G may store data identifying the dimensions of the image. A datafield 208H may also be provided that stores data indicating whether thecorresponding graphic is the default graphic for the correspondingproduct. The default graphic is the primary graphic for a product and istypically displayed larger than or prior to the other product graphicson the product page 124.

A data field 208I may also be specified that includes data identifying apixel map and potentially one or more callouts for the correspondingproduct graphic. A pixel map defines locations within a product graphic.Callouts are textual identifiers that may be displayed on or adjacent toa product graphic that provides additional detail regarding the productshown in the product graphic. The pixel map may be utilized to specifythe locations of the callouts or other information that is displayed inconjunction with a product image. A data field 208J may also bespecified that includes data identifying one or more preferredpresentation styles for the product graphic. Presentation styles mightinclude preferred colors, fonts, font sizes, and other types ofinformation regarding how the product graphic and other elementsdisplayed therewith should be displayed.

As shown in FIG. 2, the data fields 208K-208P provide similar data asthat described above for a second product graphic. Additional datafields may also be included for other product graphics. In this regard,it should be appreciated that while the product graphic descriptionsection 204 shown in FIG. 2 includes data for two product graphics,virtually any number of product graphics may be described therein.

As also shown in FIG. 2, the product display section 206 includes atleast one data field 208Q that includes display instructions for use bythe merchant computing system 104. The display instructions may beconfigured to provide more complex control over the manner in which theproduct graphics 112A-112C are displayed. For instance, in one specificexample, a manufacturer may provide a static image, a video file, and anapplication that provides an interactive demonstration of a product. Thedisplay instructions 208Q may indicate that the static image should bedisplayed first, along with a thumbnail of the video and a hyperlink tothe application. The display instructions 208Q might also indicate thatone of the image, video, or application should be displayed dependingupon the network bandwidth available to the customer computing system106 requesting the product page 124 for the corresponding product. Othertypes of scenarios might also be defined within the product graphicdisplay section 206.

It should be appreciated that the data fields 208A-208Q illustrated inFIG. 2 are merely illustrative and more or fewer data fields might bespecified. For instance, other data fields might be included that definewhether a product graphic 112 is an “in-the-box” view of a product (e.g.the retail packaging) or an “out-of-the-box” view of a product (i.e.outside of its retail packaging). Another data field might be providedindicating whether a product graphic is a back view, top view, or sideview of a product. Other types of data fields may also be specified.

It should also be appreciated that the data structure schema illustratedin FIG. 2 may be implemented utilizing a markup language such as theExtensible Markup Language (“XML”). Alternately, the product displaydata 114 shown in FIG. 2 might also be implemented using a binary formator another format known in the art. Additional details regarding the useof the product display data 114 will be provided below with respect toFIGS. 3-5.

Turning now to FIGS. 3 and 4, additional details will be providedregarding the embodiments presented herein for customized productdisplay. It should be appreciated that the logical operations describedherein are implemented (1) as a sequence of computer implemented acts orprogram modules running on a computing system and/or (2) asinterconnected machine logic circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance and other requirements of the computing system.Accordingly, the logical operations described herein are referred tovariously as operations, structural devices, acts, or modules. Theseoperations, structural devices, acts, and modules may be implemented insoftware, in firmware, in special purpose digital logic, and anycombination thereof It should also be appreciated that more or feweroperations may be performed than shown in the figures and describedherein. These operations may also be performed in parallel, or in adifferent order than those described herein.

FIG. 3 illustrates a routine 300 for describing the operation of theproduct manufacturer computing system 102. The routine 300 begins atoperation 302, where the product graphics 112A-112C are generated foreach product and stored in the product database 110A. Once the productgraphics 112A-112C have been stored in the product database 110A,product display data 114 is generated for the product graphics112A-112C. As discussed above with reference to FIG. 2, the productdisplay data 114 describes the product graphics 112A-112C and alsoprovides information regarding how aspects of the product graphics112A-112C should be displayed on the product page 124 provided by themerchant computing system 104 for the corresponding product.

From operation 304, the routine 300 proceeds to operation 306 where theproduct manufacturer computing system 102 transmits the product graphics112A-112C and the product display data 114 to the merchant computingsystem 104. It should be appreciated that the product graphics 112A-112Cand product display data 114 may be transmitted in bulk for a largenumber of products at one time. It should also be appreciated that theproduct graphics 112A-112C and the product display data 114 may beperiodically updated by the product manufacturer and transmitted to themerchant computing system 104. For instance, a new version of a productor its packaging may be reflected in new product graphics andtransmitted to the merchant computing system 104. From operation 306,the routine 300 proceeds to operation 308, where it ends.

FIG. 4 illustrates a routine 400 showing the operation of the merchantcomputing system 104 according to one embodiment presented herein. Theroutine 400 begins at operation 402 where the merchant computing system104 receives the product graphics 112A-112C and the product display data114 from the product manufacturer computing system 102. The merchantcomputing system 104 then stores the product graphics 112A-112C and theproduct display data 114 in the product database 110B.

From operation 402, the routine 400 proceeds to operation 404 where theWeb server application 116 receives a request from the Web browserapplication 118 for a product page 124 corresponding to a product. Inresponse to receiving such a request, the routine 400 proceeds tooperation 406 where the Web server application 116 retrieves the productgraphics 112A-112C and the product display data 114 for thecorresponding product from the product database 110B.

The routine then proceeds to operation 408 where the product displaydata 114 is utilized to generate the product page 124 for the product.For instance, as discussed above, the product display data 114 may beutilized to generate a product page 124 that includes product graphicsselected based on the contents of the customer profile 120, based uponthe bandwidth of a connection to the customer computing system 106, orthat includes the specified callouts. The product page 124 may also becustomized in other ways based upon the product display data 114, thecustomer profile 120, or other data.

Once the product page 124 has been generated, the Web server application116 returns the generated page to the Web browser application 118 atoperation 410. The Web browser application 118 executing on the customercomputing system 106 then renders the product page 124 for display to auser. From operation 410, the routine 400 proceeds to operation 412,where it ends.

It should be appreciated that, according to embodiments, the merchantcomputing system 104 may utilize other data in conjunction with theproduct graphics 112A-112C and the product display data 114 to customizethe product page 124 provided to a customer computing system 106. Asdiscussed above, for instance, the merchant computing system 104maintains a customer profile 120 for a customer in one embodiment. Themerchant computing system 104 may utilize the contents of the customerprofile 120 and the product display data 114 to customize the productpage 124 provided to the customer computing system 106.

The customer profile 120 can be utilized in conjunction with the productdisplay data 114 to display the product graphics 112A-112C in a specificmanner for the customer. For instance, in one embodiment, a customerprofile 120 might indicate that a customer has small children. In thiscase, the merchant computing system 104 may utilize data stored in theproduct graphic description section 204 of the product display data 114to identify product graphics 112A-112C that focus on product safetyinformation. Because a customer with small children may be interested inproduct safety information, the merchant computing system 104 can causeproduct graphics 112A-112C focusing on product safety information to bedisplayed to the customer by default.

In another example, a customer profile 120 indicating that the customerhas a particular interest in electronics might cause the merchantcomputing system 104 to utilize data stored in the product graphicdescription section 204 of the product display data 114 to identifyproduct graphics 112A-112C containing technical information. Theseproduct graphics might then be displayed to the user by default. Asanother example, a customer profile 120 indicating that a user isinterested in the environmental impact of a particular product mightcause the merchant computing system 104 to utilize data stored in theproduct graphic description section 204 of the product display data 114to identify product graphics 112A-112C that include environmentalinformation about the product. These product graphics may then bedisplayed to the user. It should be appreciated that other types ofcustomizations made be made by utilizing data contained in a customerprofile 120 along with data contained in the product graphic descriptionsection 204 of the product display data 114 by the merchant computingsystem 104.

It should also be appreciated that data other than a customer profile120 might be utilized to customize the display of the product graphics112A-112C for a user of the customer computing system 106. For instance,the merchant computing system 104 might determine the category of thee-commerce Web site 122 that the customer is currently viewing. Thisinformation might then be utilized in conjunction with the productdisplay data 114 to customize the display of the product graphics112A-112C.

As another example, the merchant computing system 104 might utilize theproduct display data 114 along with information describing the availablebandwidth to the customer computing system 106 to determine which of theproduct graphics 112A-112C is displayed to the customer. For instance, auser on a low bandwidth connection might only be provided static imageswhile a user on a higher bandwidth connection might be provided a videoor an application program demonstrating aspects of a product.

Turning now to FIG. 5, a user interface diagram showing one illustrativeuser interface 500 in which the product display data 114 is utilized inthe display of one or more manufacturer provided product graphics112A-112C will be described. In particular, FIG. 5 shows a screendisplay provided by the Web browser application 118 following therendering of a product page 124 for a product provided by the merchantcomputing system 104.

As illustrated in FIG. 5, the user interface 500 includes a display ofthe product graphics 112A-112C. In this example, the product graphic112C has been displayed as the primary graphic and is larger than theproduct graphics 112A-112B. In this regard, the data contained in thedata field 208Q might provide instructions that the product graphics112A-112C should be displayed in the manner shown in FIG. 5.

The product graphic 112C also includes several callouts 502A-502B. Asdiscussed briefly above, the callouts 502A-502B comprise data that canbe overlaid on or adjacent to the product graphics 112A-112C and thatprovide additional information regarding the product displayed therein.The contents of the data fields 208I and 208O shown in FIG. 2 may beutilized to generate the callouts 502A-502B.

As discussed above, the display instructions contained in the data field208Q might also indicate that the callouts 502A-502B should be displayedonly when a user interface cursor hovers over the product graphic 112C.As utilized herein, the term “hover” refers to placing a user interfacecursor over a product graphic or other object without making a selectionutilizing a mouse button or other type of user input device.

As shown in FIG. 5, the contents of the field 208B may be utilized todisplay the name of a product, the contents of the field 208A may beutilized to display the name of the product manufacturer, and thecontents of the data field 208D may be utilized to display a descriptionof the product. Other data contained in the product display data 114might also be utilized to display additional content not shown in FIG. 5or to customize the display of the product graphics 112A-112C in anothermanner.

It should be appreciated that while the product display data 114includes data defining how aspects of the product graphics 112A-112Cshould be displayed, the merchant computing system 104 may not apply anyor all of the instructions contained in the product display data 114.For instance, the product display data 114 may specify a presentationstyle that is inconsistent with the presentation style of the e-commerceWeb site 122 provided by the merchant computing system 104. In thiscase, the merchant computing system 104 may choose to ignore thecontents of the product display data 114 regarding the preferredpresentation style.

The merchant computing system 104 may also ignore instructions containedin the product display data 114 where the instructions might: cause anincompatibility with the Web browser application 118, cause anincompatibility with the Web server application 116, cause the merchantcomputing system 104 to utilize a significant amount of processingresources or bandwidth, or for other reasons. In this regard, theproduct display data 114 may be considered to provide hints to themerchant computing system 104 as to how the product graphics 112A-112Cshould be displayed.

It should also be appreciated that, in order to provide the greatestvalue to e-commerce merchants, the data structure schema utilized toembody the product display data 114 would ideally become an industrystandard format. In this manner, manufacturers could provide productgraphics 112A-112C and product display data 114 to e-commerce merchantsin the industry standard format. Such a format would streamlineoperations between manufacturers and merchants and may result insignificant cost savings to both.

FIG. 6 shows an example computer architecture 600 for a computer 602capable of executing the software components described herein forcustomized product display, in the manner presented above. The computerarchitecture 600 shown in FIG. 6 illustrates a conventional servercomputer, workstation, desktop computer, laptop, network appliance,personal digital assistant (“PDA”), digital cellular phone, or othercomputing device, and may be utilized to execute any aspects of thesoftware components presented herein described as executing on theproduct manufacturer computing system 102, the merchant computing system104, the customer computing system 106, or other computing platform.

The computer 602 includes a baseboard, or “motherboard,” which is aprinted circuit board to which a multitude of components or devices maybe connected by way of a system bus or other electrical communicationpaths. In one illustrative embodiment, one or more central processingunits (“CPUs”) 604 operate in conjunction with a chipset 606. The CPUs604 are standard programmable processors that perform arithmetic andlogical operations necessary for the operation of the computer 602.

The CPUs 604 perform the necessary operations by transitioning from onediscrete, physical state to the next through the manipulation ofswitching elements that differentiate between and change these states.Switching elements may generally include electronic circuits thatmaintain one of two binary states, such as flip-flops, and electroniccircuits that provide an output state based on the logical combinationof the states of one or more other switching elements, such as logicgates. These basic switching elements may be combined to create morecomplex logic circuits, including registers, adders, subtractors,arithmetic logic units, floating-point units, and the like.

The chipset 606 provides an interface between the CPUs 604 and theremainder of the components and devices on the baseboard. The chipset606 may provide an interface to a random access memory (“RAM”) 608, usedas the main memory in the computer 602. The chipset 606 may furtherprovide an interface to a computer-readable storage medium such as aread-only memory (“ROM”) 610 or non-volatile RAM (“NVRAM”) for storingbasic routines that help to startup the computer 602 and to transferinformation between the various components and devices. The ROM 610 orNVRAM may also store other software components necessary for theoperation of the computer 602 in accordance with the embodimentsdescribed herein.

According to various embodiments, the computer 602 may operate in anetworked environment using logical connections to remote computingdevices and computer systems through the network 108. The chipset 606includes functionality for providing network connectivity through anetwork interface controller (“NIC”) 612, such as a gigabit Ethernetadapter. The NIC 612 is capable of connecting the computer 602 to othercomputing devices over the network 108, such as the product manufacturercomputing system 102, the merchant computing system 104, the customercomputing system 106, and the like. It should be appreciated that anynumber of NICs 612 may be present in the computer 602, connecting thecomputer to other types of networks and remote computer systems.

The computer 602 may be connected to a mass storage device 618 thatprovides non-volatile storage for the computer. The mass storage device618 may store system programs, application programs, other programmodules, and data, which are described in greater detail herein. Themass storage device 618 may be connected to the computer 602 through astorage controller 614 connected to the chipset 606. The mass storagedevice 618 may consist of one or more physical storage units. Thestorage controller 614 may interface with the physical storage unitsthrough a serial attached SCSI (“SAS”) interface, a serial advancedtechnology attachment (“SATA”) interface, a fiber channel (“FC”)interface, or other standard interface for physically connecting andtransferring data between computers and physical storage units.

The computer 602 may store data on the mass storage device 618 bytransforming the physical state of the physical storage units to reflectthe information being stored. The specific transformation of physicalstate may depend on various factors, in different implementations ofthis description. Examples of such factors may include, but are notlimited to, the technology used to implement the physical storage units,whether the mass storage device 618 is characterized as primary orsecondary storage, and the like. For example, the computer 602 may storeinformation to the mass storage device 618 by issuing instructionsthrough the storage controller 614 to alter the magnetic characteristicsof a particular location within a magnetic disk drive unit, thereflective or refractive characteristics of a particular location in anoptical storage unit, or the electrical characteristics of a particularcapacitor, transistor, or other discrete component in a solid-statestorage unit. Other transformations of physical media are possiblewithout departing from the scope and spirit of the present description,with the foregoing examples provided only to facilitate thisdescription. The computer 602 may further read information from the massstorage device 618 by detecting the physical states or characteristicsof one or more particular locations within the physical storage units.

In addition to the mass storage device 618 described above, the computer602 may have access to other computer-readable storage medium to storeand retrieve information, such as program modules, data structures, orother data. It should be appreciated by those skilled in the art thatcomputer-readable storage media can be any available media that may beaccessed by the computer 602. By way of example, and not limitation,computer-readable storage media may include volatile and non-volatile,removable and non-removable media implemented in any method ortechnology. Computer-readable storage media includes, but is not limitedto, RAM, ROM, erasable programmable ROM (“EPROM”), electrically-erasableprogrammable ROM (“EEPROM”), flash memory or other solid-state memorytechnology, compact disc ROM (“CD-ROM”), digital versatile disk (“DVD”),high definition DVD (“HD-DVD”), BLU-RAY, or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or any other medium that can be used to storethe desired information.

The mass storage device 618 may store an operating system 620 utilizedto control the operation of the computer 602. According to oneembodiment, the operating system comprises the LINUX operating system.According to another embodiment, the operating system comprises theWINDOWS® SERVER operating system from MICROSOFT Corporation. Accordingto further embodiments, the operating system may comprise the UNIX orSOLARIS operating systems. It should be appreciated that other operatingsystems may also be utilized.

The mass storage device 618 may store other system or applicationprograms and data utilized by the computer 602, such as the productdisplay data 114 described above in regard to FIGS. 1-2. In oneembodiment, the mass storage device 618 or other computer-readablestorage media may be encoded with computer-executable instructions that,when loaded into the computer 602, may transform the computer from ageneral-purpose computing system into a special-purpose computer capableof implementing the embodiments described herein. Thesecomputer-executable instructions transform the computer 602 byspecifying how the CPUs 604 transition between states, as describedabove. According to one embodiment, the computer 602 may have access tocomputer-readable storage media storing computer-executable instructionsthat, when executed by the computer, perform the routines 300 and 400,as described above in regard to FIGS. 3-4.

The computer 602 may also include an input/output controller 622 forreceiving and processing input from a number of input devices 624, suchas a keyboard, a mouse, a touchpad, a touch screen, an electronicstylus, or other type of input device. Similarly, the input/outputcontroller 622 may provide output to a display device 626, such as acomputer monitor, a flat-panel display, a digital projector, a printer,a plotter, or other type of output device. It will be appreciated thatthe computer 602 may not include all of the components shown in FIG. 6,may include other components that are not explicitly shown in FIG. 6, ormay utilize an architecture completely different than that shown in FIG.6.

Based on the foregoing, it should be appreciated that technologies forcustomized product display are presented herein. Although the subjectmatter presented herein has been described in language specific tocomputer structural features, methodological acts, and computer readablemedia, it is to be understood that the invention defined in the appendedclaims is not necessarily limited to the specific features, acts, ormedia described herein. Rather, the specific features, acts, and mediumsare disclosed as example forms of implementing the claims.

The subject matter described above is provided by way of illustrationonly and should not be construed as limiting. Furthermore, the claimedsubject matter is not limited to implementations that solve any or alldisadvantages noted in any part of this disclosure. Variousmodifications and changes may be made to the subject matter describedherein without following the example embodiments and applicationsillustrated and described, and without departing from the true spiritand scope of the present invention, which is set forth in the followingclaims.

What is claimed is:
 1. A computer-implemented method for customizedproduct display, the method comprising performing instructions under thecontrol of a computer system for: storing a plurality of productgraphics for a product and corresponding product display data thatdefines how aspects of the plurality of product graphics should bedisplayed, the product display data comprising a preferred presentationstyle corresponding to each of the plurality of product graphics, thepreferred presentation style comprising one or more of preferred colors,fonts, and font sizes for display of one or more other elements with thecorresponding product graphic; retrieving the plurality of productgraphics for the product and the product display data for the product;receiving a request for a product page from a customer; identifying aparticular product graphic from the one or more product graphics basedon the product display data and a customer profile associated with thecustomer; utilizing the identified particular product graphic and thecorresponding preferred presentation style to generate a product pagethat is customized for the customer; and providing the generated productpage in response to the request for the product page.
 2. Thecomputer-implemented method of claim 1, wherein a manufacturer of theproduct provides the plurality of product graphics for the product andthe corresponding product display data.
 3. The computer-implementedmethod of claim 1, wherein the product display data comprises dataspecifying whether a product graphic comprises an “in-the-box” view oran “out-of-the-box” view of the product.
 4. The computer-implementedmethod of claim 1, wherein the product display data comprises datadefining one or more callouts for the particular product graphic and apixel map, the one or more callouts configured to be overlaid on theparticular product graphic when a user hovers a user interface cursorover the particular product graphic on the product page, and the pixelmap specifying a location of the one or more callouts on the particularproduct graphic.
 5. The computer-implemented method of claim 4, whereinutilizing the identified particular product graphic and thecorresponding preferred presentation style to generate the product pagecomprises utilizing the product display data to generate a product pagethat includes the identified particular product graphic and the one ormore callouts at locations on the identified particular product graphicspecified by the pixel map.
 6. The computer-implemented method of claim1, wherein the product display data comprises data specifying that oneor more of the plurality of product graphics be displayed in the productpage depending upon a network bandwidth available to a customercomputing system.
 7. The computer-implemented method of claim 6, whereinutilizing the identified particular product graphic and thecorresponding preferred presentation style to generate the product pagecomprises determining the network bandwidth available to the customercomputing system, selecting one or more of the plurality of productgraphics for display on the product page based at least in part on thedetermined network bandwidth, and generating the product page with theselected product graphics.
 8. A non-transitory computer-readable storagemedium having computer-executable instructions stored thereon which,when executed by a computer, cause the computer to: receive one or moreproduct graphics and product display data for a product, the productdisplay data comprising dimensions, a type, and a preferred presentationstyle corresponding to each of the one or more product graphics, thepreferred presentation style comprising one or more of preferred colors,fonts, and font sizes for display of one or more other elements with thecorresponding product graphic; store the product graphics and theproduct display data in a product database; identify a particularproduct graphic from the one or more product graphics for display to acustomer based on the product display data and a customer profileassociated with the customer; and utilize the identified particularproduct graphic and the dimensions, type, and preferred presentationstyle corresponding to the particular product graphic in the productdisplay data to generate a product page for the product.
 9. Thenon-transitory computer-readable storage medium of claim 8, wherein theproduct display data defines how aspects of the particular productgraphic should be displayed.
 10. The non-transitory computer-readablestorage medium of claim 8, wherein the product graphic descriptionsection specifies whether a product graphic comprises an “in-the-box”view or an “out-of-the-box” view of the product.
 11. The non-transitorycomputer-readable storage medium of claim 8, wherein the product displaydata comprises a product description section, a product graphicdescription section, and a product graphic display section.
 12. Thenon-transitory computer-readable storage medium of claim 11, wherein theproduct description section comprises a product name, a productidentifier, and a product description.
 13. The non-transitorycomputer-readable storage medium of claim 11, wherein the productgraphic description section comprises data specifying whether eachproduct graphic is a default product graphic.
 14. The non-transitorycomputer-readable storage medium of claim 11, wherein the productgraphic description section further defines one or more callouts for theparticular product graphic and a pixel map, the one or more calloutsconfigured to be overlaid on the particular product graphic when a userhovers a user interface cursor over the particular product graphic onthe product page, and the pixel map specifying a location of the one ormore callouts on the particular product graphic.
 15. The non-transitorycomputer-readable storage medium of claim 11, wherein the productgraphic display section comprises data specifying that the productgraphics should be displayed based upon a network bandwidth available toa customer computing system.
 16. A system for customized productdisplay, the system comprising: a server computer comprising a memoryand a central processing unit; a product database operably connected tothe server computer and storing one or more product graphics and productdisplay data, the product display data comprising a preferredpresentation style corresponding to each of the one or more productgraphics, the preferred presentation style comprising one or more ofpreferred colors, fonts, and font sizes for display of one or more otherelements with the corresponding product graphic; and one or more programmodules residing in the memory and configured to execute on the centralprocessing unit that, when executed, retrieve the one or more productgraphics and the product display data for the product from the productdatabase, retrieve data from a customer profile associated with acustomer, identify a particular product graphic from the one or moreproduct graphics for display to the customer based on the productdisplay data and the data retrieved from the customer profile, generatea product page utilizing the identified particular product graphic andthe preferred presentation style corresponding to the particular productgraphic in the product display data, receive a request from the customerfor a product page for a product, and provide the generated product pagein response to the request for the product page.
 17. The system of claim16, wherein generating a product page utilizing the product graphic andthe product display data comprises determining a network bandwidthavailable to a customer computing system, selecting one or more of theproduct graphics for display on the product page based at least in parton the determined network bandwidth, and generating the product pagewith the selected product graphics.
 18. The system of claim 16, whereinthe product display data comprises a product description section, aproduct graphic description section, and a product graphic displaysection.
 19. The system of claim 18, wherein the product graphicdescription section specifies a name, type, and size for each of theproduct graphics, whether each product graphic is a default productgraphic, and defines one or more callouts and a pixel map for one ormore of the product graphics, each of the one or more calloutsconfigured to be overlaid on the product graphic at a location specifiedby the pixel map when a user hovers a user interface cursor over theproduct graphic on the product page.
 20. The system of claim 18, whereinthe product graphic description section specifies whether a productgraphic comprises an “in-the-box” view or an “out-of-the-box” view ofthe product.